import { z } from "zod";

export const RegisterDTO = z.object({
  username: z.string().min(3).max(50),
  password: z.string().min(6).max(100),
  email: z.string().email().optional(),
  phone: z.string().min(6).max(20).optional(),
  avatar: z.string().optional(),
  bio: z.string().max(255).optional(),
});

export const LoginDTO = z.object({
  account: z.string().min(3).max(100), // 用户名 / 邮箱 / 手机号
  password: z.string().min(6).max(100),
});


export const UpdateUserDTO = z.object({
  avatar: z.string().url().optional(),
  bio: z.string().max(255).optional(),
  email: z.string().email().optional(),
  phone: z.string().min(6).max(20).optional()
});

export type UpdateUserInput = z.infer<typeof UpdateUserDTO>;
export type RegisterInput = z.infer<typeof RegisterDTO>;
export type LoginInput = z.infer<typeof LoginDTO>;
